]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspacesViews: Use translation for showing Workspaces
authorJonas Dreßler <verdre@v0yd.nl>
Wed, 3 Jun 2020 16:07:01 +0000 (18:07 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 6 Jul 2020 21:16:15 +0000 (23:16 +0200)
We're going to use fixed position for positioning workspaces when
they're allocated by their own layout manager, using those positions to
scroll between different workspaces interferes with that, so do that
using translations instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1305

js/ui/workspacesView.js

index 77524ed6bc00af0b3be0aa1de63385b375204b89..591c2b46f0f76bcfcad80e1a4971847a15826ad5 100644 (file)
@@ -174,11 +174,11 @@ class WorkspacesView extends WorkspacesViewBase {
 
             let params = {};
             if (workspaceManager.layout_rows == -1)
-                params.y = (w - active) * this._fullGeometry.height;
+                params.translation_y = (w - active) * this._fullGeometry.height;
             else if (this.text_direction == Clutter.TextDirection.RTL)
-                params.x = (active - w) * this._fullGeometry.width;
+                params.translation_x = (active - w) * this._fullGeometry.width;
             else
-                params.x = (w - active) * this._fullGeometry.width;
+                params.translation_x = (w - active) * this._fullGeometry.width;
 
             if (showAnimation) {
                 let easeParams = Object.assign(params, {
@@ -310,8 +310,8 @@ class WorkspacesView extends WorkspacesViewBase {
         let last = this._workspaces.length - 1;
 
         if (workspaceManager.layout_rows == -1) {
-            let firstWorkspaceY = this._workspaces[0].y;
-            let lastWorkspaceY = this._workspaces[last].y;
+            let firstWorkspaceY = this._workspaces[0].translation_y;
+            let lastWorkspaceY = this._workspaces[last].translation_y;
             let workspacesHeight = lastWorkspaceY - firstWorkspaceY;
 
             let currentY = firstWorkspaceY;
@@ -321,11 +321,11 @@ class WorkspacesView extends WorkspacesViewBase {
 
             for (let i = 0; i < this._workspaces.length; i++) {
                 this._workspaces[i].visible = Math.abs(i - adj.value) <= 1;
-                this._workspaces[i].y += dy;
+                this._workspaces[i].translation_y += dy;
             }
         } else {
-            let firstWorkspaceX = this._workspaces[0].x;
-            let lastWorkspaceX = this._workspaces[last].x;
+            let firstWorkspaceX = this._workspaces[0].translation_x;
+            let lastWorkspaceX = this._workspaces[last].translation_x;
             let workspacesWidth = lastWorkspaceX - firstWorkspaceX;
 
             let currentX = firstWorkspaceX;
@@ -335,7 +335,7 @@ class WorkspacesView extends WorkspacesViewBase {
 
             for (let i = 0; i < this._workspaces.length; i++) {
                 this._workspaces[i].visible = Math.abs(i - adj.value) <= 1;
-                this._workspaces[i].x += dx;
+                this._workspaces[i].translation_x += dx;
             }
         }
     }